package common.jdbc.sql;

import org.springframework.util.StringUtils;

/**
 * @作者：caopengfei
 * @时间：2020/9/7
 */
public abstract class SqlAdapter {

    /**
     * 获取数据库驱动
     * @return
     */
    public abstract String getDriverClass();

    /**
     * 获取测试SQL
     * @return
     */
    public abstract String getTestSql();

    /**
     * 获取url
     * @return
     */
    public abstract String getUrl(String ip,String port,String dbName);

    /**
     * dangbo
     * 日期处理
     * @return
     */
    public abstract String getDate(String date);

    /**
     * dangbo
     * zdm 字段名
     * zdcd 字段长度
     * @return
     */
    public abstract String getLength(String zdm, String zdcd);

    /**
     * dangbo
     * zdm 字段名
     * zdcd 字段长度
     * @return
     */
    public abstract String getNotLength(String zdm, String zdcd);

    public String getCountSql(String tableName,String where){
        String countSql = " SELECT COUNT(1) AS NUM FROM "+tableName;
        if(!StringUtils.isEmpty(where)){
            countSql=countSql+" where "+where;
        }
        return countSql;
    }

    public abstract String getDbtype();

}
